package com.lightningtrade.mapper;

import com.lightningtrade.domain.SysOrder;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface SysOrderMapper {

    // 插入订单
    int createOrder(SysOrder order);

    // 根据订单编号查询订单
    SysOrder selectOrderById(@Param("id") Long id);

    // 更新订单状态（取消或支付时用）
    int updateOrder(SysOrder order);

    // 扣减库存
    int decreaseStock(@Param("productId") Integer productId, @Param("quantity") Integer quantity);

    // 恢复库存
    int restOreStock(@Param("productId") Integer productId, @Param("quantity") Integer quantity);

    // 恢复金额到用户账户
    int restOreUserBalance(@Param("uid") Integer uid, @Param("amount") Double amount);
}
